package com.example.userwallet.service;

import com.example.userwallet.pojo.WalletRecord;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Author:Nyapii
 */
public interface UserService {
    /**
     * 查询用户钱包余额
     * @param userId 用户ID
     * @return 用户钱包余额
     */
    BigDecimal getUserBalance(Long userId);

    /**
     * 用户消费
     * @param userId 用户ID
     * @param amount 消费金额
     * @return 操作是否成功
     */
    boolean consume(Long userId, BigDecimal amount);

    /**
     * 用户退款
     * @param userId 用户ID
     * @param amount 退款金额
     * @return 操作是否成功
     */
    boolean refund(Long userId, BigDecimal amount);

    /**
     * 查询用户钱包金额变动明细
     * @param userId 用户ID
     * @return 用户钱包金额变动明细列表
     */
    List<WalletRecord> getUserWalletRecords(Long userId);
}
